import type { CartItem } from "@/types/cart"
import { http } from "@/utils/http"

/**
 * 加入购物车
 * @param data 请求体参数
 * @returns 
 */
export const postMemberCartAPI = (data:{skuId:string,count:number})=>{
	return http({
		method:'POST',
		url:'/member/cart',
		data
	})
}

/**
 * 获取购物车列表
 * @returns 
 */
export const getMemberCartAPI = ()=>{
	return http<CartItem[]>({
		method:'GET',
		url:'/member/cart',
	})
}

/**
 * 删除/清空购物车单品
 * @param data SKUID集合
 * @returns 
 */
export const deleteMemberCartAPI = (data:{ids:string[]})=>{
	return http({
		method:'DELETE',
		url:'/member/cart',
		data
	})
}

/**
 * 修改购物车单品
 * @param skuId SKU ID
 * @param data 请求体参数
 * @returns 
 */
export const putMemberCartBySkuIdAPI = (skuId:string,data:{selected?:boolean,count?:number})=>{
	return http({
		method:'PUT',
		url:`/member/cart/${skuId}`,
		data
	})
}

/**
 * 购物车全选/取消全选
 * @param data 
 * @returns 
 */
export const putMemberCartSelected =(data:{selected:boolean})=>{
	return http({
		method:'PUT',
		url:'/member/cart/selected',
		data
	})
}